package com.c2b.algorithm.leetcode.base;

/**
 * <a href='https://leetcode.cn/problems/count-the-number-of-vowel-strings-in-range/'>统计范围内的元音字符串数(Count the Number of Vowel Strings in Range)</a>
 * <p>给你一个下标从 0 开始的字符串数组 words 和两个整数：left 和 right 。</p>
 * <p>如果字符串以元音字母开头并以元音字母结尾，那么该字符串就是一个 元音字符串 ，其中元音字母是 'a'、'e'、'i'、'o'、'u' 。</p>
 * <p>返回 words[i] 是元音字符串的数目，其中 i 在闭区间 [left, right] 内。</p>
 * <p>
 * <b>示例：</b>
 * <pre>
 * 示例 1：
 *      输入：words = ["are","amy","u"], left = 0, right = 2
 *      输出：2
 *      解释：
 *          - "are" 是一个元音字符串，因为它以 'a' 开头并以 'e' 结尾。
 *          - "amy" 不是元音字符串，因为它没有以元音字母结尾。
 *          - "u" 是一个元音字符串，因为它以 'u' 开头并以 'u' 结尾。
 *          在上述范围中的元音字符串数目为 2 。
 *
 * 示例 2：
 *      输入：words = ["hey","aeo","mu","ooo","artro"], left = 1, right = 4
 *      输出：3
 *      解释：
 *          - "aeo" 是一个元音字符串，因为它以 'a' 开头并以 'o' 结尾。
 *          - "mu" 不是元音字符串，因为它没有以元音字母开头。
 *          - "ooo" 是一个元音字符串，因为它以 'o' 开头并以 'o' 结尾。
 *          - "artro" 是一个元音字符串，因为它以 'a' 开头并以 'o' 结尾。
 *          在上述范围中的元音字符串数目为 3 。
 * </pre>
 * </p>
 * <p>
 * <b>提示：</b>
 * <ul>
 *     <li>1 <= words.length <= 1000</li>
 *     <li>1 <= words[i].length <= 10</li>
 *     <li>words[i] 仅由小写英文字母组成</li>
 *     <li>0 <= left <= right < words.length</li>
 * </ul>
 * </p>
 *
 * @author c2b
 * @since 2023/11/8 16:15
 */
public class LC2586CountTheNumberOfVowelStringsInRange_S {

    static class Solution {
        public int vowelStrings(String[] words, int left, int right) {
            int res = 0;
            for (int i = left; i <= right; i++) {
                String word = words[i];
                if (checkVowel(word.charAt(0)) && checkVowel(word.charAt(word.length() - 1))) {
                    res++;
                }
            }
            return res;
        }

        private boolean checkVowel(char currCh) {
            switch (currCh) {
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                    return true;
            }
            return false;
        }
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.vowelStrings(new String[]{"are", "amy", "u"}, 0, 2));
        System.out.println(solution.vowelStrings(new String[]{"hey","aeo","mu","ooo","artro"}, 1, 4));
    }
}
